Echo cancelers have recently gained importance with the increased usage of CDMA (code division multiple access) in mobile telephony. Echo signals are present in a digital telephone connection. The echo signals distort or disturb speech signals generated from the two ends of the connection. Echo cancelers are used to cancel the echo signals. However, a long delay time is necessary in such cancellation. The delay time required to cancel the echo signal by the echo canceler is called ‘convergence time’. The convergence time of the echo canceler is an important parameter for measurement of the quality of the echo canceler. The smaller the convergence time, the closer is the reproduction of the original sound.
Adaptive algorithms are used in echo cancelers. One popular algorithm is the NLMS (normalized least mean square) algorithm. A filter is used to cover practically all occurrences of impulse responses. A filter output signal is conventionally subtracted from the signal containing an echo, thereby forming a different signal used to update the filter. U.S. Pat. No. 5,428,605 describes a prior art echo canceler and it is shown in FIGS. 1 and 2.
A plurality of filters 141-14N for canceling out an echo signal are connected in cascade between two lines RX and TX included in a four-wire loop. The echo signal emerges in an echo path 12 from speech signals of a called person or a calling person of a telephone call connection. The filters 141-14N act as a digital adaptive filter. They receive an input signal X through a line RX. The input signal X is applied to the echo path 12.
An echo signal is decided through each of output signals Y1-YN of the filters 141-14N. An echo signal is cancelled from an echo-included signal D through subtraction means 24. Consequently, each of the sub traction means outputs each of difference signals E1-EN. The filters 141-N update filter coefficients with correspondence to an adaptive algorithm by receiving the different signals E1-EN.
The filters 141-14N receive the input signal X and then generate the output signals Y1-YN, respectively. The output signals Y1-YN are applied to a plurality of selectable switches 161-16N. The switches 161-16N are connected to subtraction means 181-18N, respectively. That is, the switches 161-16N are connected to negative input terminals of the subtraction means 181-18N, respectively. Positive input terminals of the subtraction means 181-18N receive an echo-reduced signal 26 which is obtained by reducing the echo signal from the echo-included signal D. The switches 161-16N also receive selective signals S1-SN, respectively. Accordingly, the subtraction means 181-18N output the different signals E1-EN, respectively. The selective signals S1-SN are generated from a switch control circuit 30 shown in FIG. 2 to select at least one of the filters 141-14N. The switch control circuits 30 will be described hereafter. An output signal YN of a filter to which corresponding switch is connected to the right side output terminal is not used to cancel an echo signal. However, the output signal YN is used to output an error signal EN which is in turn used to update the filter.
An error signal is a difference between the echo-reduced signal 26 and a filter output signal provided through a switch which is switched to its right side output terminal. For example, error signals E2 and EN in FIG. 1 are such error signals.
In the initial stage of a converging process such as the beginning of a new telephone call, all switches are switched to the switching terminals on the right side. The following error signals are thereby obtained: E1=D−Y1, E=D−Y2, - - - , EN=D−YN. This is resulted from an equal supply of the echo-included signal D to the positive input terminals of the subtraction means 181-18N in the initial stage, respectively. This signal is called an echo-reduced signal FTOT.
In the initial stage (that is, before enabling filters to use actively to cancel an echo), the filters adjust in an endeavor to cancel the total echo signal. In this case, the filters are converged into a certain level, respectively. Since a filter among the cascade-connected filters is generally disturbed by some part of the total echo signal, the echo signal is actually canceled by one and more filters of the other filters.
The quality measurement of an adaptive filter is continuously calculated in order to be able to establish which filters perform useful work. In other words, the quality measurements and values are used to form switch control signals. When the quality measurement of a filter exceeds a predetermined value, the filter renders the corresponding switch switched to its left switching position.
When the measurement resultant is lower than the predetermined value, the filter is disabled so as for the corresponding switch to be switched to its right switching position. An output signal of the filter is added in an adding means to other output signals of the filter which are added in other adding means, respectively. The resultant summation signal is subtracted from the echo-included signal D in subtraction means 24. For example, the filters 141-N-1 are enabled to reduce the echo signal appeared in the echo-included signal D. An output signal of the enabled filter is summed to be Y1+YN-1, and an echo-reduced signal ETOT becomes equal to: D−(Y1+YN-1). These are subtracted from the echo-included signal D by a plurality of cascade-connected subtraction means, respectively.
Since the output signals of the enabled filters do not appear on the input signals of the subtraction means, all enabled filters will obtain error signals equally as large as the echo-reduced signal ETOT. The error signal of the disabled filter is equal to the echo-reduced signal ETOT decreased by the output signal of the filter. In the illustrated example, the [Equation 1] is obtained:E1=ETOT−Y1=D−(Y1+YN-1) E2=ETOT−Y2=D−(Y1+Y2+YN-1) EN=ETOT−YN=D−(Y1+YN-1+Yn)  [Equation 1]
Therefore, when a filter is enabled, its output signal will be used to update the remaining filters. It is the fact that every enabled filter receives large error signals. Every error signal of these filters can be caused to go down to logic 0 or to the vicinity of logic 0 by effectively canceling the echo signal. Accordingly, none of the filters will be disturbed by any part of the total echo that shall be canceled by other filters.
FIG. 2 illustrates an arrangement of a switch control circuit generating a switch control signal illustrated in FIG. 1. Referring to FIG. 2, the switch control circuit 30 is required for each filter 141-N included in the echo canceler 10.
The echo-reduced signal ETOT, the filter output signal YN, and the filter error signal EN are applied to the switch control circuit. Some signals are generated from absolute magnitude forming means 321, 322, and 323. Each of the signals is then filtered in its respective lowpass filter means (LPF) 341, 342, and 343. Signals deriving from the echo-reduced signal ETOT and the filter output signal YN are multiplied in a multiplier 36, so that a signal |ETOT|*|YN| is generated. A signal deriving from a lowpass filter 343 of the filter error signal EN is squared in a quadrating means 38, so that a signal |EN|*|EN| is generated.
The signal from the multiplier 36 is divided by the signal from the quadrating means 38 in a division means 40. The quality measurement QN is generated from the division means 40 and its equation is as follows:QN(|ETOT|/|EN|)*(|YN|/|EN|)=(|ETOT|*|YN|)/(EN*EN)  [Equation 2]
According to [Equation 2], the quality measurement QN is proportioned to the output signal YN. When the quality measurement QN exceeds a first threshold value Tr1, the switch control signal sN goes to logic 1. When the quality measurement QN becomes lower than a second threshold value Tr2, the switch control signal sN goes to logic 0. In this case, when the switch control signal sN is logic 1, the switch is connected to its left switching position.
The quality measurement QN is used as input signals of a first comparator 421 and a second comparator 422. That is, the quality measurement QN is compared in the first comparator 421 with the first threshold value Tr1 of the filter enabled, while in the second comparator 422 with the second threshold value Tr2 of the filter disabled. Successively, output signals of the comparators 421 and 422 are respectively inputted to a logic means 44 which generates the switching control signal SN which is delivered to the filter. For example, the logic means 44 generates logic 1 when the filter shall be enabled, and logic 0 is generated when the filter shall be disabled.
The quality measurement QN which is able to cancel the greatest echo will be the first filter to exceed the first threshold value Tr1. This is why the first filter has a relatively large output signal and a relatively small error signal. As a result of enabling or coupling to the first filter, the error signals for the remaining filters will be reduced by the value of the output signal of the enabled filter, since this output signal is subtracted from the echo-included signal in the subtraction means. The quality measurement of remaining filter will increase therewith.
Further, the error signals of the filters that are not enabled will be also reduced for each new filter which is enabled after the first enabled filter. Consequently, the smaller echo will be initially hidden by the larger echoes. No significant work can be performed by the filters. That is, the only small echo signals can be canceled by the filters. The input signal, however, is so small in that its quality measurement cannot exceed the filter enabling threshold value Tr1. The foregoing filters will never be enabled.
When a filter is enabled, its quality measurement will be slightly reduced. This results from the fact that the signal ETOT is reduced by the filter output signal.
A filter coefficient will be converged when an echo signal is generated by the speech signal including an echo signal from an opposite person. Further, the filter coefficient will be disturbed by the speech signal including the echo signal from a user himself.
As mentioned above, the echo canceler may repeat the convergence and disturbance of the filter coefficient. As a result, it takes long time to update unnecessary filter coefficient each time.